/**
 * 描述: 删除菜单项
 * 版权: Copyright (c) 2019
 * 公司: 深圳市网商天下科技开发有限公司
 * 作者: 许堉颖
 * 版本: 1.0.0
 * 创建时间: 2019/5/7 10:21
 */

const utils = require('../../utils.js');
// 创建返回结果
const resultConstructor = utils.resultConstructor;

/**
 * 删除菜单项
 * @param promise 参数
 */
module.exports = async function deleteMenu(params) {
  // 获取数据库链接
  const db = utils.getDatabase();
  // 数据库操作
  const database = db.collection('rc_homepage_menu');

  // 获取启用状态的菜单项
  let enableMenuList = await database.where({
    status: 1
  }).get().then(res => {
    return res.data;
  });
  console.log(enableMenuList);
  if (enableMenuList.length <= 4 &&
    (params['_id'] === enableMenuList[0]['_id'] ||
      params['_id'] === enableMenuList[1]['_id'] ||
      params['_id'] === enableMenuList[2]['_id'] ||
      params['_id'] === enableMenuList[3]['_id'])) 
  {
    return {
      code: -20006,
      errMsg: '至少要保留4个启用的菜单项，请先启用其他菜单项~'
    }
  }

  // 校验参数
  const checkParamsResult = checkParams(params);
  // 校验结果失败返回错误信息
  if (!checkParamsResult.status) {
    return checkParamsResult.data;
  }
  //执行数据库删除
  let resultPromise = database.doc(params['_id']).remove();
  // 生成返回值
  return resultConstructor(resultPromise);
}

/**
 * 检查参数
 * @param params 参数
 */
function checkParams(params) {
  // 获取请求参数类
  const request = new utils.RequestParams();
  // id
  request.put('_id', params['_id'], 0);

  return request.checkParamsResult(request);
}